<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>随机点名</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        h2 {
            text-align: center;
        }

        .box {
            width: 600px;
            margin: 50px auto;
            display: flex;
            font-size: 25px;
            line-height: 40px;
        }

        .qs {

            width: 450px;
            height: 40px;
            color: red;

        }

        .btns {
            text-align: center;
        }

        .btns button {
            width: 120px;
            height: 35px;
            margin: 0 50px;
        }
    </style>
</head>

<body>
    <h2>随机点名</h2>
    <div class="box">
        <span>名字是：</span>
        <div class="qs">这里显示姓名</div>
    </div>
    <div class="btns">
        <button class="start">开始</button>
        <button class="end">结束</button>
    </div>

    <script>
        // 数据数组
        const arr = ['马超', '黄忠', '赵云', '关羽', '张飞']

        const start = document.querySelector('.start')

        let timnerId = 0
        let index = 0

        // 开始抽取
        start.addEventListener('click', function () {
            timnerId = setInterval(function () {
                index = parseInt(Math.random() * arr.length)
                document.querySelector('.qs').innerHTML = arr[index]
                start.disabled = true
            }, 35)
        })

        // 结束抽取
        const end = document.querySelector('.end')
        end.addEventListener('click', function () {
            if (timnerId) {
                // 数组剩余一个元素时不用抽取，禁用按钮
                if (arr.length === 1) {
                    start.disabled = end.disabled = true
                } else {
                    clearInterval(timnerId)
                    arr.splice(index, 1)
                    start.disabled = false
                }
            }
        })
    </script>
</body>

</html>